//js 基础
// 数据类型：字符串值，数值，布尔值，数组，对象。
// java  String    （byte  short  int  long float  double）  true false
//java   String [] aa= {};
//java  String aa=new String();
//-----------------------------------
//js 定义
// var  let  const
// var age1 = 17; // 数值
// let age2=18;
// const age3=19;
// var name = "supeng";//字符串 ,不区分单双引号
// var isMale = true;
// var object = {
//     name: 'lily',
//     age: 18,
//     isMale: true,
//     //匿名方法
//     money: function () {
//         return 10;
//     }
// };
//数组 ,集合
// var hobby = ["足球", "java",2, object];
//function 定义方法必须要加
// function getName(data,age) {
//     var age11 = 17; // 数值
//     let age22=18; // 变量
//     const age33=19;// 常量,不能再次进行赋值
//     age22=20;
//     return true;
// }

//  var a;
// console.log(a,"--------------");
//  //undefined 默认值
//  let b;
// console.log(b,"+++++++++++");
// $(function () {
// });

//----------------------------- 数组类型的方法
//字符
//Java String 有哪些方法？
// length;
//js: 请注意 (x==y) 与 (x===y) 的区别。?
// java: 请注意 (x==y) 与 (x===y) 的区别。?
function changeCode(obj) {
    // 如果访问后台的地址是一样的，则浏览器会自动在缓存里面去取刚刚的数据
    //报文

    let url = "/code?a=" + Math.random();
    // console.log(url)
    // document.getElementById("code").src = url;
    // obj.src=url;
    // console.log(2)
    $(obj).attr("src", url);
}

$(function () {
    //layui框架  ，利用layui里面的form表单
    layui.use('form', function () {
        let form = layui.form;
        // layer.msg('玩命卖萌中', function(){
        //   //关闭后的操作
        //   });
        //监听提交
        form.on('submit(login)', function (data) {
            // 如果输入错误，就提示（自定义验证规则，正则表达式）
            //如果输入正确：就应该将这几个输入的数据传递到后台和数据库的用户名和密码进行比较
            //1.如果验证码错误 提示验证码错误，请重新输入
            //2.验证码正确：
            //    1）判断用户名和密码（数据库里面的数据进行比较）
            //      2）如果正确，则提示登陆成功，跳转到主页
            //      3）如果错误，则提示重新输入用户名和密码
            console.log(data);
            //通過ajax跳转到Java后台
            let loginName = data.field.username;
            $.ajax({
                url: '/login',//对应Java注解地址
                data: data.field,//传递到Java后台的数据
                type: 'post',//对应后台方法get或者post
                dataType: 'json',//后台返回给前端的数据格式，一般用json对象。
                success: function (data) {//后台返回给前端的数据
                    console.log(data, "success");
                    if (data.msg == 'success') {
                        // document.cookie="username='11';expires='22'";
                        // /html/index.html?username=aaaa这种传值也被不用
                        //$("#username").val()  得到输入值
                        //$("#username").html()  得到div的值
                        sessionStorage.setItem("loginName", $("#username").val());
                        location.href = '/html/index.html';
                    } else if (data.msg == 'error-code') {
                        layer.msg("你的验证码输入不正确，请重新输入");
                    } else {
                        layer.msg("你的用户名或者密码不正确，请重新输入");
                    }
                },
                error: function (data) {
                    console.log(data, "error")
                }
            });
            // alert(888)
            //data.field
            // JSON.stringify(data.field)
            // layer.msg(JSON.stringify(data.field), function () {
            // location.href = 'index.html'
            // });
            // 不然刷新
            return false;
        });
        //自定义验证规则
        form.verify({
            // username: function (value) {
            //     // if (value.length < 5) {
            //     //     return '昵称至少得5个字符啊';
            //     // }
            //     // if(value.length>15){
            //     //     return '昵称至多得15个字符啊';
            //     // }
            //     // if(value.length>15){
            //     //     return '昵称不能位中文';
            //     // }
            //     // if(value.length>15){
            //     //     return '昵称不能为特殊字符';
            //     // }
            //
            // },
            // /^[A-Z][A-z0-9_-]{2,13}[0-9]$/
            username: [/^(.+){4,16}$/, '用户名为4到16为的字母，数字下划线破折向,且第一个字母大写'],
            password: [/^(.+){4,16}$/, '最少6位，包括至少1个大写字母，1个小写字母，1个数字，1个特殊字符'],
            // code: function (value) {
            //     if ($('#L_pass').val() != $('#L_repass').val()) {
            //         return '两次密码不一致';
            //     }
            // }
            code: [/.{5}/, '必须5位字符']
        });
    });
});